<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>AngelScript: asIScriptFunction Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">AngelScript
   
   </div>
   
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classas_i_script_function.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">asIScriptFunction Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="asIScriptFunction" -->
<p>The interface for a script function description.  
</p>

<p><a href="classas_i_script_function-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Miscellaneous</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7a0ef04f035d1809fb8b7702134afd06">GetEngine</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the script engine.  <a href="#a7a0ef04f035d1809fb8b7702134afd06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a0a00f9581e7ece5f2a536d0e22c10d0c">AddRef</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the reference counter.  <a href="#a0a00f9581e7ece5f2a536d0e22c10d0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a0a98f1f7f91574a11d7d8c5062bdcdee">Release</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease reference counter.  <a href="#a0a98f1f7f91574a11d7d8c5062bdcdee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7aca255486dd77b8846f545495128cac">GetId</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the id of the function.  <a href="#a7aca255486dd77b8846f545495128cac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648f">asEFuncType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aa4d06c7d590e7eb4df280a8224f4499c">GetFuncType</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the function.  <a href="#aa4d06c7d590e7eb4df280a8224f4499c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#af03c30e4764f81c01400d7f77a8d0832">GetModuleName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the module where the function was implemented.  <a href="#af03c30e4764f81c01400d7f77a8d0832"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a62a77c029782162135d98d6e2b383eca">GetScriptSectionName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the script section where the function was implemented.  <a href="#a62a77c029782162135d98d6e2b383eca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#afea841f0923573cea81467ac90b71996">GetConfigGroup</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the config group in which the function was registered.  <a href="#afea841f0923573cea81467ac90b71996"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Function info</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_object_type.html">asIObjectType</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a73442bb7c6dca067ae2f4d3d069d19de">GetObjectType</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object type for class or interface method.  <a href="#a73442bb7c6dca067ae2f4d3d069d19de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a69e30464d13867fb72e66ce3365fdec8">GetObjectName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the object for class or interface methods.  <a href="#a69e30464d13867fb72e66ce3365fdec8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a96cf134f1369f312aa182de5006f8b71">GetName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the function or method.  <a href="#a96cf134f1369f312aa182de5006f8b71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a1bb2d5860e1ea3d07a55ba13e6fb26a8">GetDeclaration</a> (bool includeObjectName=true) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function declaration.  <a href="#a1bb2d5860e1ea3d07a55ba13e6fb26a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a99bbe26ae0ec3f0cc09070bf89aff2f9">IsReadOnly</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the class method is read-only.  <a href="#a99bbe26ae0ec3f0cc09070bf89aff2f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7ef1f42ff812a03e2a323046835159fb">IsPrivate</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the class method is private.  <a href="#a7ef1f42ff812a03e2a323046835159fb"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Parameter and return types</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a8ca059886317b944c52933b7bbe85cfa">GetParamCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of parameters for this function.  <a href="#a8ca059886317b944c52933b7bbe85cfa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#af75544f2e9216b5ee611cefe4cfa7672">GetParamTypeId</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the specified parameter.  <a href="#af75544f2e9216b5ee611cefe4cfa7672"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a3b121928dc38cd9816a681f296c53be5">GetReturnTypeId</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the return type.  <a href="#a3b121928dc38cd9816a681f296c53be5"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Debug information</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a92e14168997c0f67a975e7ed042d8328">GetVarCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of local variables in the function.  <a href="#a92e14168997c0f67a975e7ed042d8328"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aaf11dde60bec710bcd729127bfe12dd4">GetVar</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, const char **name, int *typeId=0) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about a local variable.  <a href="#aaf11dde60bec710bcd729127bfe12dd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a8fde3b4e0e7760d78d750c7de574d974">GetVarDecl</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the declaration of a local variable.  <a href="#a8fde3b4e0e7760d78d750c7de574d974"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a30dc23991856a13f59e682b3b1498e2f">FindNextLineWithCode</a> (int line) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next line number with code.  <a href="#a30dc23991856a13f59e682b3b1498e2f"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">JIT compilation</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#afb38e9ba77ce8b49378e43dadd83ef94">GetByteCode</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> *length=0)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the byte code buffer and length.  <a href="#afb38e9ba77ce8b49378e43dadd83ef94"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">User data</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a2d01c604a619cbb9a4356a05d041e252">SetUserData</a> (void *userData)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register the memory address of some user data.  <a href="#a2d01c604a619cbb9a4356a05d041e252"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a74d7dccdc0de6cef550bad52a2b40156">GetUserData</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the previously registered user data.  <a href="#a74d7dccdc0de6cef550bad52a2b40156"></a><br/></td></tr>
</table>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0a00f9581e7ece5f2a536d0e22c10d0c"></a><!-- doxytag: member="asIScriptFunction::AddRef" ref="a0a00f9581e7ece5f2a536d0e22c10d0c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::AddRef </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of references to this object.</dd></dl>
<p>Call this method when storing an additional reference to the object. </p>

</div>
</div>
<a class="anchor" id="a30dc23991856a13f59e682b3b1498e2f"></a><!-- doxytag: member="asIScriptFunction::FindNextLineWithCode" ref="a30dc23991856a13f59e682b3b1498e2f" args="(int line) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::FindNextLineWithCode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>A line number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of the next line with code, or a negative value if the line is outside the function. </dd></dl>

</div>
</div>
<a class="anchor" id="afb38e9ba77ce8b49378e43dadd83ef94"></a><!-- doxytag: member="asIScriptFunction::GetByteCode" ref="afb38e9ba77ce8b49378e43dadd83ef94" args="(asUINT *length=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>* asIScriptFunction::GetByteCode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> *&#160;</td>
          <td class="paramname"><em>length</em> = <code>0</code></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>The length of the byte code buffer in DWORDs </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the byte code buffer, or 0 if this is not a script function.</dd></dl>
<p>This function is used by the <a class="el" href="classas_i_j_i_t_compiler.html">asIJITCompiler</a> to obtain the byte code buffer for building the native machine code representation. </p>

</div>
</div>
<a class="anchor" id="afea841f0923573cea81467ac90b71996"></a><!-- doxytag: member="asIScriptFunction::GetConfigGroup" ref="afea841f0923573cea81467ac90b71996" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetConfigGroup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the config group, or null if not in any group. </dd></dl>

</div>
</div>
<a class="anchor" id="a1bb2d5860e1ea3d07a55ba13e6fb26a8"></a><!-- doxytag: member="asIScriptFunction::GetDeclaration" ref="a1bb2d5860e1ea3d07a55ba13e6fb26a8" args="(bool includeObjectName=true) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetDeclaration </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeObjectName</em> = <code>true</code></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">includeObjectName</td><td>Indicate whether the object name should be prepended to the function name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the function declaration. </dd></dl>

</div>
</div>
<a class="anchor" id="a7a0ef04f035d1809fb8b7702134afd06"></a><!-- doxytag: member="asIScriptFunction::GetEngine" ref="a7a0ef04f035d1809fb8b7702134afd06" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a>* asIScriptFunction::GetEngine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the engine. </dd></dl>

</div>
</div>
<a class="anchor" id="aa4d06c7d590e7eb4df280a8224f4499c"></a><!-- doxytag: member="asIScriptFunction::GetFuncType" ref="aa4d06c7d590e7eb4df280a8224f4499c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648f">asEFuncType</a> asIScriptFunction::GetFuncType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The type of the function </dd></dl>

</div>
</div>
<a class="anchor" id="a7aca255486dd77b8846f545495128cac"></a><!-- doxytag: member="asIScriptFunction::GetId" ref="a7aca255486dd77b8846f545495128cac" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The id of the function </dd></dl>

</div>
</div>
<a class="anchor" id="af03c30e4764f81c01400d7f77a8d0832"></a><!-- doxytag: member="asIScriptFunction::GetModuleName" ref="af03c30e4764f81c01400d7f77a8d0832" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetModuleName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the module name. </dd></dl>

</div>
</div>
<a class="anchor" id="a96cf134f1369f312aa182de5006f8b71"></a><!-- doxytag: member="asIScriptFunction::GetName" ref="a96cf134f1369f312aa182de5006f8b71" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the name of the function. </dd></dl>

</div>
</div>
<a class="anchor" id="a69e30464d13867fb72e66ce3365fdec8"></a><!-- doxytag: member="asIScriptFunction::GetObjectName" ref="a69e30464d13867fb72e66ce3365fdec8" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetObjectName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the name of the object type if this a method. </dd></dl>

</div>
</div>
<a class="anchor" id="a73442bb7c6dca067ae2f4d3d069d19de"></a><!-- doxytag: member="asIScriptFunction::GetObjectType" ref="a73442bb7c6dca067ae2f4d3d069d19de" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_object_type.html">asIObjectType</a>* asIScriptFunction::GetObjectType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the object type interface if this is a method.</dd></dl>
<p>This does not increase the reference count of the returned object type. </p>

</div>
</div>
<a class="anchor" id="a8ca059886317b944c52933b7bbe85cfa"></a><!-- doxytag: member="asIScriptFunction::GetParamCount" ref="a8ca059886317b944c52933b7bbe85cfa" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptFunction::GetParamCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of parameters. </dd></dl>

</div>
</div>
<a class="anchor" id="af75544f2e9216b5ee611cefe4cfa7672"></a><!-- doxytag: member="asIScriptFunction::GetParamTypeId" ref="af75544f2e9216b5ee611cefe4cfa7672" args="(asUINT index, asDWORD *flags=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetParamTypeId </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based parameter index. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>A combination of <a class="el" href="angelscript_8h.html#a335bd4a1384b6e408bf9b37ffdeb54c7">asETypeModifiers</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the type id of the specified parameter. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The index is out of bounds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3b121928dc38cd9816a681f296c53be5"></a><!-- doxytag: member="asIScriptFunction::GetReturnTypeId" ref="a3b121928dc38cd9816a681f296c53be5" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetReturnTypeId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The type id of the return type. </dd></dl>

</div>
</div>
<a class="anchor" id="a62a77c029782162135d98d6e2b383eca"></a><!-- doxytag: member="asIScriptFunction::GetScriptSectionName" ref="a62a77c029782162135d98d6e2b383eca" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetScriptSectionName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the script section name where the function was implemented. </dd></dl>

</div>
</div>
<a class="anchor" id="a74d7dccdc0de6cef550bad52a2b40156"></a><!-- doxytag: member="asIScriptFunction::GetUserData" ref="a74d7dccdc0de6cef550bad52a2b40156" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::GetUserData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the user data. </dd></dl>

</div>
</div>
<a class="anchor" id="aaf11dde60bec710bcd729127bfe12dd4"></a><!-- doxytag: member="asIScriptFunction::GetVar" ref="aaf11dde60bec710bcd729127bfe12dd4" args="(asUINT index, const char **name, int *typeId=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetVar </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>typeId</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based index of the local variable </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>Receives the name of the variable </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">typeId</td><td>Receives the typeId of the variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The <em>index</em> is out of range </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a92e14168997c0f67a975e7ed042d8328"></a><!-- doxytag: member="asIScriptFunction::GetVarCount" ref="a92e14168997c0f67a975e7ed042d8328" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptFunction::GetVarCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of local variables in the function </dd></dl>

</div>
</div>
<a class="anchor" id="a8fde3b4e0e7760d78d750c7de574d974"></a><!-- doxytag: member="asIScriptFunction::GetVarDecl" ref="a8fde3b4e0e7760d78d750c7de574d974" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetVarDecl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based index of the local variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The declaration string, or null on error </dd></dl>

</div>
</div>
<a class="anchor" id="a7ef1f42ff812a03e2a323046835159fb"></a><!-- doxytag: member="asIScriptFunction::IsPrivate" ref="a7ef1f42ff812a03e2a323046835159fb" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsPrivate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the class method is private </dd></dl>

</div>
</div>
<a class="anchor" id="a99bbe26ae0ec3f0cc09070bf89aff2f9"></a><!-- doxytag: member="asIScriptFunction::IsReadOnly" ref="a99bbe26ae0ec3f0cc09070bf89aff2f9" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsReadOnly </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the class method is read-only </dd></dl>

</div>
</div>
<a class="anchor" id="a0a98f1f7f91574a11d7d8c5062bdcdee"></a><!-- doxytag: member="asIScriptFunction::Release" ref="a0a98f1f7f91574a11d7d8c5062bdcdee" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::Release </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of references to this object.</dd></dl>
<p>Call this method when you will no longer use the references that you own. </p>

</div>
</div>
<a class="anchor" id="a2d01c604a619cbb9a4356a05d041e252"></a><!-- doxytag: member="asIScriptFunction::SetUserData" ref="a2d01c604a619cbb9a4356a05d041e252" args="(void *userData)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::SetUserData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userData</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">userData</td><td>A pointer to the user data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The previous pointer stored in the context.</dd></dl>
<p>This method allows the application to associate a value, e.g. a pointer, with the context instance.</p>
<p>Optionally, a callback function can be <a class="el" href="classas_i_script_engine.html#ae9585d4e65618b02c6005d3beaca4377">registered</a> to clean up the user data when the function is destroyed. As the callback is registered with the engine, it is only necessary to do it once. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="angelscript_8h.html">angelscript.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classas_i_script_function.html">asIScriptFunction</a>      </li>

    <li class="footer">Generated on Sun Jan 29 2012 15:41:04 for AngelScript by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
